import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

// 一定不能忘记！！！
@WebServlet("/getParameter")
public class GetParameterServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 获取query string中的键值对
        // 一定要注意编码方式！！！

        // 假设浏览器的请求形如： ?studentId=10&studentName=张三
        // getParameter: 根据key来获取value
        String studentId = req.getParameter("studentId");
        String studentName = req.getParameter("studentName");
        System.out.println(studentId);
        System.out.println(studentName);

        // 为了使网页显示正确，显式加上编码方式！
        resp.setContentType("text/html; charset=utf8");
        resp.getWriter().write(studentId + "," + studentName);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 通过 body 获取，发个 post 请求
        // 预期请求的 body 里是 studentId=10&studentName=张三

        // 给请求设置编码方式：
        req.setCharacterEncoding("utf8");

        String studentId = req.getParameter("studentId");
        String studentName = req.getParameter("studentName");
        System.out.println(studentId);
        System.out.println(studentName);

        // 为了使网页显示正确，显式加上编码方式！
        // 响应这里设置字符集有两种写法：setContentType以及setCharacterEncoding，
        // 但是还是建议使用setContentType完整写法；设置的字符集只是其中一部分，还需要设置格式。

        resp.setContentType("text/html; charset=utf8");

        // req.setCharacterEncoding("utf8");
        resp.getWriter().write(studentId + "," + studentName);
    }
}
